1.2. Events — Device to Server

X-PHONEOWNER issue in device vCalendar:

Device in some cases put X-PHONEOWNER as one parameter of the attendee indicating that the attendee is the phone owner. X-PHONEOWNER doesn’t have a value and this breaks the server parser. Server should handle this.

VCALENDAR
VERSION:1.0
BEGIN:VEVENT
UID:20080204T191415Z-405000-H2_Board
SUMMARY;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:Special=20chars=20=C6=92
DESCRIPTION;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:=C2=A2=20=C2=A6=20&
DTSTART:20080204T191200Z
DTEND:20080204T194200Z
X-EPOCAGENDAENTRYTYPE:APPOINTMENT
CLASS:PUBLIC
LOCATION;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:=C2=A9
SEQUENCE:-1
X-METHOD:NONE
ATTENDEE;ROLE=ORGANIZER;STATUS=NEEDS ACTION;RSVP=NO;EXPECT=FYI;XPHONEOWNER:
name@server.com
LAST-MODIFIED:20080204T191415Z
PRIORITY:0
STATUS:CONFIRMED
X-MOBILEOS-LUID:11
END:VEVENT
END:VCALENDAR
Exception=vendor.ocs.tm.icalendar.exception.ICalParseException: '=' expected after "XPHONEOWNER"(Parameter=X-PHONEOWNER)(Parameter in comp=VEVENT.prop=ATTENDEE)
at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseSubComponent(VCalParser.java:232)
at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseSubComponent(VCalParser.java:203)
at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseComponent(VCalParser.java:148)
at vendor.ocs.protocols.oma.ds.connector.calendar.CalendarUtil.stringToVCalendar(CalendarUtil.java:225)
at vendor.ocs.protocols.oma.ds.connector.calendar.EventsStore.initIncomingEvent(EventsStore.java:1399)
at vendor.ocs.protocols.oma.ds.connector.calendar.EventsStore.addData(EventsStore.java:2259)
at vendor.ocs.protocols.oma.ds.connector.calendar.EventsStoreConnector.applyClientDataOperationById(EventsStoreConnector.java:201)
at vendor.ocs.protocols.oma.ds.connector.calendar.CalendarStoreConnector.applyClientDataOperationById(CalendarStoreConnector.java:129)
at vendor.ocs.protocols.oma.ds.protocol.executor.AddExecutor.execute(AddExecutor.java:312)
at vendor.ocs.protocols.oma.ds.protocol.executor.CmdExecutor.executeSubCommands(CmdExecutor.java:81)
at vendor.ocs.protocols.oma.ds.protocol.executor.SyncExecutor.execute(SyncExecutor.java:214)
at vendor.ocs.protocols.oma.ds.protocol.DsProtocolHandler.processMessage(DsProtocolHandler.java:720)
at vendor.ocs.protocols.oma.RequestProcessor.processRequest(RequestProcessor.java:334)
at vendor.ocs.protocols.oma.transport.servlet.OmaServlet.doPost(OmaServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at vendor.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at vendor.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:415)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
at vendor.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Caused by: vendor.ocs.tm.icalendar.exception.ICalParseException: '=' expected after "XPHONEOWNER"(
Parameter=X-PHONEOWNER)
at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseParameters(VCalParser.java:407)
at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseSubComponent(VCalParser.java:230)
... 29 more
Caused by: vendor.ocs.tm.icalendar.exception.ICalParseException: '=' expected after "XPHONEOWNER"(Parameter=X-PHONEOWNER)
at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseParameters(VCalParser.java:407)
at
vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseSubComponent(VCalParser.java:230)
... 29 more
Caused by: vendor.ocs.tm.icalendar.exception.ICalParseException: '=' expected after "XPHONEOWNER"
at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseParameters(VCalParser.java:379)
... 30 more